package dao;

import dal.Conexion;
import dto.Sede;
import java.util.Vector;
import java.sql.ResultSet;

public class SedeDaoPostgreSQL extends SedeDao {

	@Override
	public void update() throws Exception {
		Conexion objConexion = Conexion.getOrCreate();

		if(objDto.getIidsede() > 0){
			StringBuffer query = new StringBuffer("UPDATE sede SET ");
			query.append("snombre = '" + objDto.getSnombre() + "' ");
			query.append("WHERE iidsede = '" + objDto.getIidsede() + "'");
			int upd = objConexion.ejecutarSimple(query.toString());
			if(upd == 0)
				throw new Exception("El registro no pudo ser actualizado");
		}

		if(objDto.getIidsede() == 0){
			StringBuffer query = new StringBuffer("INSERT INTO sede VALUES (");
			query.append("'" + objDto.getIidsede() + "'," );
			query.append("'" + objDto.getSnombre() + "' " );
			query.append(")");
			int id = objConexion.ejecutarInsert(query.toString());
			if(id == 0)
				throw new Exception("El registro no pudo ser insertado");
			else
				objDto.setIidsede(id);
			objConexion.desconectar();
		}
	}
	@Override
	public void delete(){
		Conexion objConexion = Conexion.getOrCreate();
		StringBuffer query = new StringBuffer("DELETE FROM sede ");
		query.append("WHERE iidsede = " + objDto.getIidsede());
		objConexion.ejecutarSimple(query.toString());
		objConexion.desconectar();
	}

	@Override
	public Sede select(int id){
		try{
			Conexion objConexion = Conexion.getOrCreate();
			String query = "SELECT * FROM sede WHERE iidsede = " + id;
			ResultSet objResultSet = objConexion.ejecutar(query);
			if(objResultSet.next()){
				Sede obj = new Sede();
				int _iidsede = objResultSet.getInt("iidsede");
				obj.setIidsede(_iidsede);
				
				String _snombre = objResultSet.getString("snombre");
				obj.setSnombre(_snombre);
				
				return obj;
			}
		}catch(Exception ex){
			;
		}
		return null;
	}

	@Override
	public Vector<Sede> selectTodos(){
		Vector<Sede>  registros = new Vector<Sede>();
		try{
			Conexion objConexion = Conexion.getOrCreate();
			String query = "SELECT * FROM sede ";
			ResultSet objResultSet = objConexion.ejecutar(query);
			while(objResultSet.next()){
				Sede obj = new Sede();
				int _iidsede = objResultSet.getInt("iidsede");
				obj.setIidsede(_iidsede);
				
				String _snombre = objResultSet.getString("snombre");
				obj.setSnombre(_snombre);
				
				registros.addElement(obj);
			}
		}catch(Exception ex){
			;
		}
		return registros;
	}

}

